컬렉션 프레임워크(Collection framework)
✒️ 2025-05-23 13:51 내용 수정
데이터를 저장하는 자료 구조와 데이터를 처리하는 알고리즘을 구조화한 클래스 묶음
- 컬렉션 : List, Queue, Tree등의 자료 구조
- 프레임워크 : 클래스와 인터페이스를 묶어 놓은 개념
- 컬렉션 프레임워크를 구성하는 모든 클래스는 제너릭 클래스다.
- 데이터를 저장하는 자료 구조에 따라 3가지 주요 인터페이스가 정의되어 있다.
- List 인터페이스
- 순서가 있는 데이터 집합.
- 데이터 중복을 허용한다.
- 클래스 : Vector, ArrayList, LinkedList, Stack, Queue
- Set 인터페이스
- 순서가 없는 데이터 집합.
- 데이터 중복을 허용하지 않는다.
- 클래스 : HashSet, TreeSet, LinkedHashSet
- Map 인터페이스 (Collection 그룹은 아니다!)
- key와 value의 한 쌍으로 이루어져 있고, 순서가 없다. (key-value 방식)
- 키는 중복을 허용하지 않지만 값은 중복될 수 있다.
- 클래스 : HashMap, TreeMap, Hashable, Properties, LinkedHashMap
- List 인터페이스
컬렉션 클래스(collection class)
컬렉션 프레임워크에 속하는 인터페이스를 구현한 클래스
- 인터페이스(interfaces) 참고
- 컬렉션 프레임워크의 모든 컬렉션 클래스는 List, Set, Map 인터페이스 중 하나의 인터페이스를 구현하고, 클래스 이름에 구현한 인터페이스의 이름이 포함되어 있어서 구분이 쉽다.
Collection 인터페이스
컬렉션을 다루는데 가장 기본적인 동작들을 정의한 인터페이스
- List와 Set 인터페이스가 상속 받는 인터페이스
| 메소드 | 설명 |
|---|---|
boolean add(E e) |
해당 컬렉션에 전달된 요소를 추가 |
void clear() |
해당 컬렉션의 모든 요소 제거 |
boolean contains(Object o) |
해당 컬렉션이 전달된 객체를 포함하는지 확인 |
boolean equals(Object o ) |
해당 컬렉션과 전달된 객체가 같은지 확인 |
boolean isEmpty() |
해당 컬렉션이 비었는지 확인 |
Iterator<E> iterator() |
해당 컬렉션의 반복자(iterator)를 반환 |
boolean remove(Object o) |
해당 컬렉션에서 전달된 객체를 제거 |
int size() |
해당 컬렉션의 요소의 총 개수를 반환 |
Object[] toArray() |
해당 컬렉션의 모든 요소를 Object 타입의 배열로 반환 |